package com.ruoyi.ncpsy.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 农产品档案对象 ncpsy_agr_product_archive
 * 
 * @author ruoyi
 * @date 2025-08-10
 */
public class NcpsyAgrProductArchive extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long primaryId;

    /** 作物种类 */
    @Excel(name = "作物种类")
    private String productCategory;

    /** 品种 */
    @Excel(name = "品种")
    private String variety;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String cropName;

    /** 目前所属用户编号 */
    private Long currentUserCode;

    /** 种植地点 */
    private String plantingLocation;

    /** 作物图片 */
    @Excel(name = "作物图片")
    private String cropImage;

    /** 溯源码 */
    @Excel(name = "溯源码")
    private String traceabilityCode;

    /** 是否子批次 */
    private Long isSubBatch;

    /** 作物ID */
    private Long cropId;

    /** 种植户ID */
    private Long userId;

    /** 质量检测ID */
    private Long qualityInspectionId;

    /** 存储条件 */
    private String storageConditions;

    /** 农药残留检测结果 */
    private String pesticideResidueResult;

    /** 质量等级 */
    @Excel(name = "质量等级")
    private String qualityGrade;

    /** 包装类型 */
    private String packagingType;

    /** 是否归属企业 */
    private Integer isBelongToEnterprise;

    /** 当前所属企业ID */
    private Long currentEnterpriseId;

    /** 当前状态 */
    @Excel(name = "当前状态")
    private String currentStatus;

    /** 保质期 */
    private String shelfLife;

    /** 保质期到期期限 */
    private Date shelfEndLife;

    /** 建议零售价 */
    private BigDecimal suggestedRetailPrice;

    /** 种植开始日期 */
    private Date plantingStartDate;

    /** 种植结束日期 */
    private Date plantingEndDate;

    /** 物流ID */
    private Long logisticsId;

    /** 销售方ID */
    private Long sellerId;

    /** 创建人 */
    private String creator;

    /** 更新人 */
    private String updater;

    public void setPrimaryId(Long primaryId) 
    {
        this.primaryId = primaryId;
    }

    public Long getPrimaryId() 
    {
        return primaryId;
    }

    public void setProductCategory(String productCategory) 
    {
        this.productCategory = productCategory;
    }

    public String getProductCategory() 
    {
        return productCategory;
    }

    public void setVariety(String variety) 
    {
        this.variety = variety;
    }

    public String getVariety() 
    {
        return variety;
    }

    public void setCropName(String cropName) 
    {
        this.cropName = cropName;
    }

    public String getCropName() 
    {
        return cropName;
    }

    public void setCurrentUserCode(Long currentUserCode) 
    {
        this.currentUserCode = currentUserCode;
    }

    public Long getCurrentUserCode() 
    {
        return currentUserCode;
    }

    public void setPlantingLocation(String plantingLocation) 
    {
        this.plantingLocation = plantingLocation;
    }

    public String getPlantingLocation() 
    {
        return plantingLocation;
    }

    public void setCropImage(String cropImage) 
    {
        this.cropImage = cropImage;
    }

    public String getCropImage() 
    {
        return cropImage;
    }

    public void setTraceabilityCode(String traceabilityCode) 
    {
        this.traceabilityCode = traceabilityCode;
    }

    public String getTraceabilityCode() 
    {
        return traceabilityCode;
    }

    public void setIsSubBatch(Long isSubBatch) 
    {
        this.isSubBatch = isSubBatch;
    }

    public Long getIsSubBatch() 
    {
        return isSubBatch;
    }

    public void setCropId(Long cropId) 
    {
        this.cropId = cropId;
    }

    public Long getCropId() 
    {
        return cropId;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

    public void setQualityInspectionId(Long qualityInspectionId) 
    {
        this.qualityInspectionId = qualityInspectionId;
    }

    public Long getQualityInspectionId() 
    {
        return qualityInspectionId;
    }

    public void setStorageConditions(String storageConditions) 
    {
        this.storageConditions = storageConditions;
    }

    public String getStorageConditions() 
    {
        return storageConditions;
    }

    public void setPesticideResidueResult(String pesticideResidueResult) 
    {
        this.pesticideResidueResult = pesticideResidueResult;
    }

    public String getPesticideResidueResult() 
    {
        return pesticideResidueResult;
    }

    public void setQualityGrade(String qualityGrade) 
    {
        this.qualityGrade = qualityGrade;
    }

    public String getQualityGrade() 
    {
        return qualityGrade;
    }

    public void setPackagingType(String packagingType) 
    {
        this.packagingType = packagingType;
    }

    public String getPackagingType() 
    {
        return packagingType;
    }

    public void setIsBelongToEnterprise(Integer isBelongToEnterprise) 
    {
        this.isBelongToEnterprise = isBelongToEnterprise;
    }

    public Integer getIsBelongToEnterprise() 
    {
        return isBelongToEnterprise;
    }

    public void setCurrentEnterpriseId(Long currentEnterpriseId) 
    {
        this.currentEnterpriseId = currentEnterpriseId;
    }

    public Long getCurrentEnterpriseId() 
    {
        return currentEnterpriseId;
    }

    public void setCurrentStatus(String currentStatus)
    {
        this.currentStatus = currentStatus;
    }

    public String getCurrentStatus()
    {
        return currentStatus;
    }

    public void setShelfLife(String shelfLife) 
    {
        this.shelfLife = shelfLife;
    }

    public String getShelfLife() 
    {
        return shelfLife;
    }

    public void setShelfEndLife(Date shelfEndLife) 
    {
        this.shelfEndLife = shelfEndLife;
    }

    public Date getShelfEndLife() 
    {
        return shelfEndLife;
    }

    public void setSuggestedRetailPrice(BigDecimal suggestedRetailPrice) 
    {
        this.suggestedRetailPrice = suggestedRetailPrice;
    }

    public BigDecimal getSuggestedRetailPrice() 
    {
        return suggestedRetailPrice;
    }

    public void setPlantingStartDate(Date plantingStartDate) 
    {
        this.plantingStartDate = plantingStartDate;
    }

    public Date getPlantingStartDate() 
    {
        return plantingStartDate;
    }

    public void setPlantingEndDate(Date plantingEndDate) 
    {
        this.plantingEndDate = plantingEndDate;
    }

    public Date getPlantingEndDate() 
    {
        return plantingEndDate;
    }

    public void setLogisticsId(Long logisticsId) 
    {
        this.logisticsId = logisticsId;
    }

    public Long getLogisticsId() 
    {
        return logisticsId;
    }

    public void setSellerId(Long sellerId) 
    {
        this.sellerId = sellerId;
    }

    public Long getSellerId() 
    {
        return sellerId;
    }

    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }

    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("primaryId", getPrimaryId())
            .append("productCategory", getProductCategory())
            .append("variety", getVariety())
            .append("cropName", getCropName())
            .append("currentUserCode", getCurrentUserCode())
            .append("plantingLocation", getPlantingLocation())
            .append("cropImage", getCropImage())
            .append("traceabilityCode", getTraceabilityCode())
            .append("isSubBatch", getIsSubBatch())
            .append("cropId", getCropId())
            .append("userId", getUserId())
            .append("qualityInspectionId", getQualityInspectionId())
            .append("storageConditions", getStorageConditions())
            .append("pesticideResidueResult", getPesticideResidueResult())
            .append("qualityGrade", getQualityGrade())
            .append("packagingType", getPackagingType())
            .append("isBelongToEnterprise", getIsBelongToEnterprise())
            .append("currentEnterpriseId", getCurrentEnterpriseId())
            .append("currentStatus", getCurrentStatus())
            .append("shelfLife", getShelfLife())
            .append("shelfEndLife", getShelfEndLife())
            .append("suggestedRetailPrice", getSuggestedRetailPrice())
            .append("plantingStartDate", getPlantingStartDate())
            .append("plantingEndDate", getPlantingEndDate())
            .append("logisticsId", getLogisticsId())
            .append("sellerId", getSellerId())
            .append("creator", getCreator())
            .append("createTime", getCreateTime())
            .append("updater", getUpdater())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
